With the proliferation of the Internet and technology, massive multi-player on-line games have become increasingly popular. There are a number of common features shared by massive multi-player on-line games which distinguish them from other types of on-line computer games. First, most massive multi-player on-line games host a number of players in a single game world where all those players can interact at one time. For instance, a popular massive multi-player might host thousands of players online at any given time. Second, to support all those players, massive multi-player on-line games employ large-scale game worlds. As such, large areas of the game are interconnected within the game such that players may traverse great distances without having to switch servers manually. Further, multi-player on-line games require updated data for each user location and application that a user may call upon during game play. As the number of players increases, the complexity of calculations and server demand increases. Finally, the game state in massive multi-player on-line games rarely resets.
There are two conventional approaches taken to distribute the handling of players and objects in game space. One is to simply partition the game world using special tunnels, small single person passageways, or other contrivances at the boundaries between servers. This approach is limited in that the partitioning is static. Thus, if too many players converge on the same server's portion of the game world, that server will become overloaded and game performance will suffer.
The second approach is the setting of dynamic boundaries. Although the setting of dynamic boundaries limits server overload, with this approach, there are many places in the game space where players can simultaneously see into one or more other servers' area of control. Thus, the servers need to tightly synchronize information with their neighboring servers. Furthermore, in these configurations, a “grey” area is present around the partitioning boundaries where both servers partially “own” the objects, the data is mirrored between the servers, all in an attempt to reduce the work involved in handing off an object to the next server when the object leaves the “grey” area. This mirroring, though, further increases synchronization problems and greatly complicates the server code. These techniques are described in detail in “Massively Multi-player Game Development” edited by Thor Alexander in 2003 (ISBN 1-58450-243-6). As stated in “Massively Multi-player Game Development,” although many limitations are associated with such techniques, implementation is necessary in order to achieve desired massive multi-player on-line game scalability.
Therefore, it would be desirable to develop a massive multi-player on-line game with technology designed to overcome the above mentioned difficult coordination and synchronization problems between multiple servers thereby improving on-line gaming.